#ifndef _INPUT_CONTROLLER_H_
#define _INPUT_CONTROLLER_H_


class input_controller
{
public:
	//member
	bool key_up;
	bool key_down;
	bool key_left;
	bool key_right;

	float move_x;
	float move_y;
	float move_r;
	
	static input_controller& GetInstance();
	void update(float delta_time);
	void on_key_event(unsigned char key, bool is_pressed);
	void reset_x() { move_x = 0.0f; };
	void reset_y() { move_y = 0.0f; };
	void reset_r() { move_r = 0.0f; };

private:
	input_controller();
	input_controller(input_controller const&);
	void operator=(input_controller const&);
	~input_controller();
};

#define INPUT input_controller::GetInstance()

#endif